Information processing apparatus and control method therefor

ABSTRACT

If a device driver is simply installed in the same manner for any network environment, there is a possibility that the device driver is installed in a manner improper for a particular network environment. To avoid the above problem, an information processing apparatus selects an optimum installation mode according to property information of the information processing apparatus and property information of an image forming apparatus.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention relates to an information processing apparatus anda control method therefore.

2. Description of the Related Art

In recent years, an improvement in infrastructures associated withnetworks has been achieved. This has led to widespread use of variouskinds of network-connected or network-connectable apparatuses such as aprinter, a copying machine, a facsimile machine, a scanner, a digitalcamera, an MFP (Multi Function Peripheral) having a plurality offunctions, etc. Hereinafter, these apparatuses will be genericallyreferred to as peripheral devices/apparatuses. Accordingly, varioustechniques have been developed as to a user operation or internalcontrol in installation of a driver of a network-connected/connectableperipheral apparatus in an information processing apparatus. Inparticular, it has become popular to use a network at a home. Networkenvironments can be classified into three main groups: home networkenvironments, office network environments, and public networkenvironments.

FIG. 27 is a list comparatively illustrating three categories of networkenvironments, i.e., home environments, office environments, and publicenvironments. In this list shown in FIG. 27, a “home” column describesfeatures of a home network environment, an “office” column describesfeatures of an office network environment, and a “public” columndescribes features of a public network environment. Examples of publicnetwork environments are those at air ports, cafes, etc. In rows of thelist, items are described to indicate features of the respectiveenvironments. More specifically, in a field at the intersection of a row“Types of Devices/PC” and the column “home”, it is described that typesof peripherals or information processing apparatuses used in the homenetwork environment are television sets, game machines, DVD players,information apparatuses, and MFPs (Multi Function Peripherals). In afield at the intersection of the row “Types of Devices/PC” and thecolumn “office”, it is described that types of apparatuses used in theoffice network environment are information processing apparatuses andMFPs. In a field at the intersection of a row “Number of PCs” and thecolumn “home”, it is described that the number of information processingapparatuses used in the home network environment is 1 to 5. On the otherhand, in the office network environment, 20 to 200 apparatuses are used.In a field at the intersection of a row “Number of Devices” and thecolumn “home”, it is described that the number of peripherals used inthe home network environment is 2 to 8. On the other hand, in the officenetwork environment, 5 to 10 peripherals are used. For example, oneprinter used as one of peripherals in the home network environment maybe shared by all information processing apparatuses in this home networkenvironment.

On the other hand, in an office network environment, two to four or moreprinters are shared by a plurality of information processing apparatusesdepending on requirements in sections or areas of an office or dependingon purposes of use (for example, one printer is shared in each section).

In the home network environment, the network is managed or maintained,as described in a row “Managed by”, by someone in a home, such as afather of a family. On the other hand, in the office networkenvironment, the network is managed or maintained by a networkadministrator.

At a public place, the environment can be in various forms, and thus thetypes of peripherals or information processing apparatuses (“Types ofDevices/PCs”), the number of information processing apparatuses (“Numberof PCs”), and the number of peripherals (“Number of Devices”) are notspecified. In public network environments, networks are managed ormaintained by third parties having no particular relationships withusers of the network environments.

Some recent information processing apparatuses have Microsoft WindowsVista (registered trademark) installed therein as an OS (OperatingSystem).

Peripheral apparatuses can be classified into two types:high-performance printers for use in offices, such as laser beamprinters or copy machines having a network communication capability; andhome-use printers (such as an ink-jet printer) having a networkcommunication capability whose performance is low compared with theperformance of office printers.

To set up an information processing apparatus to use a printer, that is,to install a printer driver in the information processing apparatus, auser has to perform an installation operation. A typical installationoperation is as follows.

Step 1. A user connects an information processing apparatus to a networkvia a network cable or the like and starts the information processingapparatus.

Step 2. The user then connects a printer to the network via a networkcable or the like and turns on the power of the printer.

Step 3. The user opens a network folder and waits for an iconrepresenting the printer to be displayed in the network folder.

Step 4. The user right-clicks the icon representing the printer in thenetwork folder and selects an “Install” menu.

Step 5. The user inserts a CD-ROM disk or the like on which a driver isstored into the information processing apparatus according to “Found NewHardware Wizard” or the like and installs the driver in the informationprocessing apparatus.

The sequence of installing a driver of a peripheral apparatus (such as aprinter) in an information processing apparatus is performed in asimilar manner regardless of whether the peripheral apparatus is anoffice printer or a home printer. In the installation, a “Plug and PlayExtensions” (PnP-X) function or a “Web Services on Devices” (WSD)function can be used as required. These two functions are included asstandard functions in Windows (registered trademark) Vista OS (OperatingSystem). WSD is equivalent to “Devices Profile for Web Services”available from W3C (http://www.w3.org/) via the Internet. PnP-X is anextension of “Plug and Play” and it supports a network-connected device.

Japanese Patent Laid-Open No. 2007-066091 discloses a technique ofautomatically installing a driver. In this technique, a determination ismade as to whether a device driver should be installed, depending on anetwork environment to which an information processing apparatus isconnected.

In the conventional installation technique, a driver of a peripheralapparatus (printer) is installed in an information processing apparatusvia a user operation in a similar manner regardless of whether theprinter is an office printer or a home printer. In a case where a usersets up an office printer in an office network environment managed by ahighly-skilled network administrator or the like, it is easy for theuser to correctly set up the printer by performing the operation underinstruction of the highly-skilled network administrator.

However, in a home network environment that is not managed by ahighly-skilled person such as a network administrator, it is not easyfor a user to correctly perform installation. Thus, a failure ininstallation often occurs. If the installation fails, the peripheralapparatus cannot be used.

A technique to solve the above problem is to automate the installation.However, if automatic setup is simply performed for an office printer,device drivers for all printers that are in an on-state and connected toa network are installed in all information processing apparatuses thatare in an on-state and connected to the network. As a result, there is apossibility that a printer driver that the user does not want to installis installed.

SUMMARY OF THE INVENTION

In view of the above, the present invention provides a method of settingup a peripheral apparatus in an optimum manner depending on anenvironment in which the peripheral apparatus is used.

More specifically, the present invention provides an informationprocessing apparatus capable of communicating with an image formingapparatus, including a setting unit configured to set first propertyinformation indicating an setup location of the information processingapparatus, and a selection unit configured to select an installationmode such that when the first property information set by the settingunit indicates a first setup location, the selection unit selects anautomatic installation mode in which a device driver of the imageforming apparatus is automatically installed without accepting aninstallation command issued by a user, while when the first propertyinformation set by the setting unit indicates a second setup location,the selection unit selects a manual installation mode in which thedevice driver is installed according to the installation command issuedby the user.

Further features of the present invention will become apparent from thefollowing description of exemplary embodiments with reference to theattached drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a block diagram illustrating a peripheral apparatus controlsystem including an information processing apparatus and peripheralapparatuses, according to an embodiment of the present invention.

FIG. 2 is a block diagram illustrating an example of hardwareconfiguration of a PC.

FIG. 3 is a block diagram illustrating a hardware configuration of aprinter.

FIG. 4 is a diagram illustrating a software configuration of a PC.

FIG. 5 is a diagram illustrating a configuration of a printer driver ofa PC.

FIG. 6 is a diagram illustrating a location setting dialog for setting alocation of a PC.

FIG. 7 is a diagram illustrating a network monitor.

FIG. 8 is a diagram illustrating a network monitor.

FIG. 9 is a diagram illustrating N-PnP information issued by a printer.

FIGS. 10A and 10B are tables indicating relationships among PClocations, network discovery functions, and peripheral deviceinstallation modes.

FIG. 11 is a table used to determine a mode of controlling displayinginformation on a network monitor and a mode of installing a peripheraldevice.

FIG. 12 is a flow chart illustrating an example of a process of settingup a peripheral device.

FIG. 13 is a flow chart illustrating a checking process in an automaticinstallation.

FIG. 14 is a flow chart illustrating an example of a process of settingup a peripheral device.

FIG. 15 is a flow chart illustrating an automatic installation processusing a passcode.

FIG. 16 is a diagram illustrating a screen for setting the location of aperipheral device.

FIG. 17 is a diagram illustrating a screen for setting a passcode of aperipheral device.

FIG. 18 is a diagram illustrating passcode information issued by a PC.

FIG. 19 is a diagram illustrating passcode confirmation informationissued by a printer.

FIG. 20 is a diagram illustrating a network monitor.

FIG. 21 is a diagram illustrating a printer folder.

FIG. 22 is a diagram illustrating an IHV network monitor.

FIG. 23 is a diagram illustrating an IHV network monitor.

FIG. 24 is a table used to determine a mode of controlling displayinginformation on an IHV network monitor and a mode of installing aperipheral device.

FIG. 25 is a diagram illustrating information associated withWS-Discovery.

FIG. 26 is a diagram illustrating a memory map of a storage medium inwhich various data processing programs are stored such that they arereadable by a peripheral apparatus control system according to anembodiment of the present invention.

FIG. 27 is a list illustrating three categories of network environments,i.e., home network environments, office network environments, and publicnetwork environments.

FIG. 28 is a flow chart illustrating a process of selecting aninstallation mode.

FIG. 29 is a flow chart illustrating a process of selecting aninstallation mode.

FIG. 30 is a diagram illustrating a network monitor.

FIG. 31 is a diagram illustrating a device confirmation dialog.

DESCRIPTION OF THE EMBODIMENTS

In the following explanation, a description of SOAP (Simple ObjectAccess Protocol) is omitted because a description thereof can be foundon the Internet at W3C (http://www.w3.org/). Note that an explanationgiven in the following description as to Windows (registered trademark)Vista OS is based on information available on the Internet athttp://msdn.microsoft.com/library/default.asp (as of Aug. 21, 2007).

First Exemplary Embodiment

FIG. 1 is a block diagram illustrating a printing system including aninformation processing apparatus and peripheral apparatuses (alsoreferred to as image forming apparatuses) that are connected, forcommunication, to the information processing apparatus, according to anembodiment of the present invention.

In FIG. 1, reference numeral 1 denotes an information processingapparatus. As for the information processing apparatus 1, a personalcomputer (hereinafter referred to simply as a PC) of a usual type may beused. The PC 1 is configured with hardware in such a manner as shown inFIG. 2, and has an OS (Operating System) such as Microsoft Windows Vista(registered trademark) installed therein. The PC 1 is connected to anetwork 4 based on Ethernet (registered trademark) technology.

Reference numerals 3 and 5 denote image forming apparatuses such asprinters. The printers may be, for example, of a color ink-jet type. Inthe example shown in FIG. 1, it is assumed that the printer 3 is aprinter of model “Kmmn” available from ABC company. The printer 5 is aconventional printer that does not have a function provided by theembodiment of the present invention. In the present embodiment, theperipheral apparatuses (image forming apparatuses) may be a printer, acopying machine, a facsimile machine, a scanner, a digital camera, or amultifunction apparatus having two or more of the functions describedabove. Each of the printers 3 and 5 is configured with hardware in sucha manner as will be described below with reference to FIG. 3, and isconnected to the PC 1 via the network 4 such that they can communicatewith each other in both directions.

Reference numerals 80 and 81 denote applications executed by the PC 1.The applications 80 and 81 may be given in the form of a file (*.EXE)executable on the Windows (registered trademark) OS. More specifically,in the present embodiment, it is assumed by way of example that theapplications 80 and 81 are network monitors such as those shown in FIG.7 or 22.

FIG. 2 is a block diagram illustrating an example of a hardwareconfiguration of a PC. As shown in this figure, the PC 1 includes arandom access memory (RAM 1201), a hard disk drive serving as a storageunit (HDD 1202), and a keyboard serving as an input unit (KBD 1203). ThePC 1 further includes a CPU 1204 serving as a control unit, a display(LCD 1205), and a network board (NB 1207) serving as a communicationcontroller. The NB 1207 allows the PC 1 to communicate with the imageforming apparatuses. In the PC 1, parts 1201 to 1205 and 1207 areconnected to each other via a bus 1206. The storage unit is not limitedto the hard disk drive, but other devices such as a removable CD-ROMdevice or a built-in ROM device may be used as the storage unit. Modules(software) shown in FIG. 4 or 5 are stored in the HDD 1202 and read intothe RAM 1201 as required and executed by the CPU 1204.

FIG. 3 is a block diagram illustrating a hardware configuration of aprinter. The printer 3 and the printer 5 each have a hardwareconfiguration similar to that shown in FIG. 3. In the followingdescription, an explanation is given by way of example for the printer3.

In FIG. 3, reference numeral 15 denotes a CPU implemented using amicroprocessor or the like. In the printer 3, the CPU 15 serves as acentral processing unit responsible for controlling a RAM 17, acommunication unit 18, a recorder 19, an operation unit 20, and adisplay according to a program stored in a ROM 16. In the ROM 16, theprogram is stored such that the printer 3 executes the program storedtherein to perform a recording (printing) process, a process ofnotifying the PC 1 of a status of the printer 3, or other processesunder the control of the printer driver 50 (described below withreference to FIG. 5). The RAM 17 is mainly used to temporarily storeprint data that is received from the PC 1 and that is used by therecorder 19 in a printing operation. The communication unit 18 has aport via which to connect the printer 3 to the network 4, and thecommunication unit 18 controls Ethernet communication. The recorder 19includes a recording unit including an ink-jet recording head, colorinks, a carriage, and a sheet conveying mechanism. The recorder 19 alsoincludes an electric circuit implemented using an ASIC or the like forgenerating printing pulses to the recording head according to the printdata.

If a user issues a command to perform printing using an applicationhaving a printing capability, image data of a file opened on theapplication is temporarily stored as a spool file in an EMF form in theHDD 1202 of the PC 1. The stored spool file is converted via the printerdriver 50 into print data including printer control commands forcontrolling the printer 3. The resultant print data is sent to theprinter 3 via the network 4. In the printer 3, the received print datais converted into printing pulses by the recorder 19 and printed onprinting paper. Reference numeral 20 denotes an operation unit includingvarious buttons such as a power button and a reset button for operatingthe printer 3. Reference numeral 21 denotes a display implemented usinga liquid crystal display with a touch panel that is adapted to displaythe status of the printer 3 and that is also used to input and displayvarious setting parameters. Note that in the present embodiment, it isassumed by way of example but not limitation that the printer 3 is of anink-jet type.

FIG. 4 is a diagram illustrating a software configuration of a PC. Inthis figure, reference numeral 92 denotes an Ethernet control stack bywhich to control an Ethernet network. Reference numeral 91 denotes an IPnetwork control stack adapted to control an IP network. Referencenumeral 90 denotes a WSD control stack adapted to control the WSDfunction. Reference numeral 89 denotes an IHV native protocol controlstack adapted to control an IHV-specific protocol. Reference numeral 88denotes an N-PnP control stack adapted to control a plug-and-playfunction of a network (hereinafter referred to simply as an N-PnPfunction). Note that the Windows Vista OS includes as standard function“Plug and Play Extensions (PnP-X) that supports handling of anetwork-connected device. In the present embodiment, it is assumed thatan N-PnP function similar to PnP-X is used. Reference numeral 85 denotesdevice drives including a set of standard drivers 87 included asstandard in the OS and a set of IHV drivers 86 provided by an IHV(Independent Hardware Vendor). Reference numeral 84 denotes anapplication/DDI interface including an API (Application ProgrammingInterface) and a DDI (Device Driver Interface). Reference numeral 80denotes an application. More specifically, in the present embodiment,the application 80 is a network monitor included as standard in the OS.Reference numeral 81 denotes another application. More specifically, inthe present embodiment, the application 81 is a network monitor providedby the IHV. Hereinafter, the application 80 will be referred to as thenetwork monitor 80, and the application will be referred to as the IHVnetwork monitor 81. Reference numeral 30 denotes an application having acapability of issuing a print command, which will be described belowwith reference to FIG. 5. Reference numeral 82 denotes the total set ofapplications including the network monitor 80, the IHV network monitor81, and the application 30. An event of WS-Discovery, which will bedescribed below with reference to FIGS. 12, 14, and 25, is notified tothe network monitor 80 and the IHV network monitor 81 via theapplication/DDI interface 84. The network monitor 80 and the IHV networkmonitor 81 are capable of acquiring detailed information about theprinter 3 described in a metadata element 107, such as that shown FIG.9, via the application/DDI interface 84. The network monitor 80displays, as will be described below with reference to FIG. 7, FIG. 8,and FIG. 20, an icon 42, an icon 43, an icon 44, and a check box 45 forspecifying whether automatic installation of a legacy device ispermitted, via the application/DDI interface 84. Furthermore, thenetwork monitor 80 displays an install menu 51, a Web page link menu 52,a property display menu 53, and a uninstall menu 79 via theapplication/DDI interface 84.

The IHV network monitor 81 displays, as will be described below withreference to FIGS. 22 and 23, an icon 100, an icon 101, and an icon 102,via the application/DDI interface 84. Furthermore, the IHV networkmonitor 81 displays an install menu 103, a Web page link menu 104, aproperty display menu, and an uninstall menu 106 via the application/DDIinterface 84. The network monitor 80 and the IHV network monitor 81 arecapable of installing and uninstalling the printer driver 50 for theprinter 3 in or from the PC 1 via the application/DDI interface 84. TheIHV network monitor 81 is capable of transmitting passcode informationto the printer 3 via the application/DDI interface 84 or acquiringinformation indicating a confirmation result of the passcode. An exampleof passcode information will be described below with reference to FIG.18, and an example of passcode confirmation information will bedescribed below with reference to FIG. 19.

FIG. 5 is a diagram illustrating a configuration of a printer driver ofa PC. In this figure, reference numeral 50 denotes a printer driver forthe printer 3. The printer driver 50 is installed in the PC 1. Theprinter driver 50 includes a plurality of modules 33 to 38.

Reference numeral 30 denotes an application capable of issuing a printcommand. A specific example of the application 30 is a text editor suchas “Notepad” (Notepad.exe) included as standard in the OS. Referencenumeral 31 denotes a GDI (Graphics Device Interface) that is part of theOS. Reference numeral 32 denotes a printer queue that is a part of aspooler 40 and that functions to queue print jobs. The queued print jobsare displayed in a printer queue folder, although a further detaileddescription thereof is omitted herein.

Reference numeral 33 denotes a print processor having a capability ofchanging a print layout and performing a special process on an image tobe printed. Reference numeral 34 denotes a graphics driver thatprocesses the image to be printed according to a draw command receivedfrom the GDI 31 and produces a print control command. Reference numeral35 denotes a UI (User Interface) module that provides and controls auser interface for the printer driver. Reference numeral 36 denotes alanguage monitor that functions as a data communication interfaceadapted to control transmission/reception of data.

Reference numeral 37 denotes a port monitor that transfers data receivedfrom the language monitor 36 to a proper port and receives datatransmitted from the printer 3 via a class driver 38. The class driver38 is a low-level module closest to a port.

In the present embodiment of the invention, the printer drivercorresponds to a driver of a printer class of a WSD protocol or an IHVprotocol, and controls the port (network port in the presentembodiment). In the present example, it is assumed that the printerdriver 50 is one available from ABC company that is a manufacturer ofthe printer 3.

FIG. 6 is a diagram illustrating a location setting dialog 46 thatallows a user to set the location of a PC. Second property informationindicating the setup location of the PC 1 is set according to thesetting information input via the location setting dialog 46 shown inFIG. 6. A user defines the setup location of the PC 1 (informationindicating the defined setup location is referred to as second propertyinformation) using the location setting dialog 46 shown in FIG. 6. Morespecifically, the user selects a location from “Home”, “Office”, and“Public” using the location setting dialog 46 thereby to define thenetwork environment in which the PC 1 is used.

Reference numeral 47 denotes a “Home” selection button. If this buttonis pressed, the location of the PC 1 is set to “Home” and setup isperformed so as to provide the PC 1 with an optimized home networkenvironment.

Reference numeral 48 denotes an “Office” selection button. If thisbutton is pressed, the location of the PC 1 is set to “Office” and setupis performed so as to provide the PC 1 with an optimized office networkenvironment.

Reference numeral 49 denotes a Public selection button. If this buttonis pressed, the location of the PC 1 is set to “Public” and setup isperformed so as to provide the PC 1 with a network environment optimizedfor use at a public place such as an air port, a cafe, etc.

Reference numeral 77 denotes an “Unspecified” selection button. If thisbutton is pressed, the location of the PC 1 is set to be unspecified,and setup is performed so as to provide the PC 1 with a networkenvironment optimized for use at an arbitrary location.

FIG. 7 is a diagram illustrating a network monitor 80. As shown in FIG.7, PCs and peripheral apparatuses located on the network 4 are displayedon the network monitor 80. The network monitor 80 is provided as astandard part of the OS.

In FIG. 7, reference numeral 42 denotes an icon representing the PC 1.Reference numeral 43 denotes an icon representing the printer 3.Reference numeral 44 denotes an icon representing the printer 5.

Reference numeral 45 denotes a check box for selecting whether to permitautomatic installation of a legacy device. When the check box 45 ischecked, the network monitor 80 permits automatic installation of alegacy device. However, if this check box 45 is not checked, automaticinstallation of the legacy device is not permitted. Note that the legacydevice refers to a conventional peripheral apparatus, such as theprinter 5, which does not have the functions according to the presentembodiment of the invention. Also note that when there are peripheralapparatuses displayed on the network monitor 80, drivers therefor havenot necessarily installed, and peripheral apparatuses are notnecessarily in a usable state.

FIG. 8 is a diagram illustrating the network monitor 80 in anotherstate. In this figure, if a user manually selects the icon 43representing the printer 3 by using a mouse and right-clicks the icon43, then menus 51, 52, and 53 are displayed.

If the install menu 51 is selected, the printer driver 50 for theprinter 3 is installed in the PC 1. If the installation of the printerdriver 50 is completed, the install menu 51 is deleted and the uninstallmenu 79 is displayed as described below with reference to FIG. 20. Aprinter icon 94 is then displayed in a printer folder 93 described belowwith reference to FIG. 21 to indicate that the printer 3 is usable forprinting.

Reference numeral 52 denotes a Web page link menu. If this menu isselected, a Web page (a Web page of the printer 3 in this specificexample) at a URL (http://www.ABC.xxx/kmmn.htm) specified by<wsdp:ModelUrl> in FIG. 9 is displayed. Reference numeral 53 denotes aproperty display menu. If this menu is selected, a URL(http://192.168.0.100:8000) specified by <wsdp:PresentationUrl> in FIG.9 is accessed and a root page of a Web server in the printer 3 isdisplayed.

FIG. 21 is a diagram illustrating a printer folder. In this figure,reference numeral 93 denotes a printer folder displayed on the PC 1. Inthis folder, printers usable by the PC 1 are displayed. In the specificexample shown in FIG. 21, the printer 3 is displayed in the printerfolder to indicate that the printer is 3 is in a usable state.

FIG. 20 is a diagram illustrating a network monitor 80. In this figure,if a user manually selects an icon 43 representing the printer 3 andright-clicks the icon 43, then menus 79, 52, and 53 are displayed. Themenus 52 and 53 are the same as those shown in FIG. 8. Reference numeral79 denotes a uninstall menu. If this menu is selected, the printerdriver 50 for the printer 3 is uninstalled from the PC 1. If theuninstallation of the printer 3 is completed, the uninstall menu 79 isdeleted and the install menu 51 is displayed. Furthermore, the printericon 94 is deleted from the printer folder 93 so that it is no longerdisplayed therein.

FIG. 16 is a diagram illustrating a screen for setting the location of aperipheral apparatus. Using this location setting screen, a user isallowed to set first property information indicating the setup locationof the peripheral apparatus. In FIG. 16, reference numeral 60 denotes alocation setting screen that is displayed on the display 21 of theprinter 3 and that allows a user to select a location of the peripheralapparatus (also referred to as a usage environment or a setup locationof the peripheral apparatus) from the followings:

“Home” for home peripheral apparatuses;

“Office” for office peripheral apparatuses;

“Public” for peripheral apparatuses used at public locations; and

“None” for peripheral apparatuses used at unspecified locations.

Note that the property associated with the location of the peripheralapparatus may be set as default in advance when the peripheral apparatusis shipped.

In the example shown in FIG. 16, the first property information is setso as to specify “Home”.

FIG. 25 is a diagram illustrating information associated withWS-Discovery. If the printer 3 is connected to the network 4 and isturned on, information shown in FIG. 25 is transmitted from the printer3 to PCs and peripheral apparatuses located on the network.

FIG. 9 is a diagram illustrating N-PnP information issued by a printer.In this figure, reference numeral 78 denotes an N-PnP name space inwhich various parameters of N-PnP are defined. Reference numeral 107denotes metadata elements of SOAP including detailed informationassociated with the peripheral apparatus (printer 3). Reference numeral72 denotes an N-PnP device category data element indicating a categoryof the peripheral apparatus. Character strings used herein to define thedevice category include Computers, Cameras, Printers, Scanners, Storage,FAX, MFP, Displays, Gaming, and Phones. In the example shown in FIG. 9,the device category data element 72 indicates that the device categoryof the peripheral apparatus is “Printers”.

Reference numeral 73 denotes a data element described to define an N-PnPlocation, i.e., a location of the peripheral apparatus. The followingcharacter strings are allowed to be used to specify the N-PnP location.

“Home” for home peripheral apparatuses;

“Office” for office peripheral apparatuses;

“Public” for peripheral apparatuses used at public locations; and

“None” for peripheral apparatuses used at unspecified locations.

In the example shown in FIG. 9, the data element 73 indicates that thelocation the peripheral apparatus is “Home”. Reference numeral 74denotes a data element indicating a URL of a Web site accessible todownload IHV software. In this data element 74, any URL data isdescribed to indicate the URL. In the example shown in FIG. 9, URL datais described in the data element 74 so as to indicate a Web site wheresoftware provided by ABC company is placed. The IHV software URL isoptional, and no information may be described in the data element 74.N-PnP information such as that shown in FIG. 9 is issued from theprinter 3 to PCs or peripheral apparatuses located on the network 4.

FIGS. 10A and 10B are tables indicating relationships among PClocations, network discovery functions, and modes of installing aperipheral apparatus. These tables are standard modules of the OS. Inthese tables, as shown in FIGS. 10A and 10B, the network discovery mode(in which to search for the network) and the device installation mode(in which to install the peripheral apparatus) are defined for each PClocation selected in FIG. 6. In the network discovery column, “On”indicates that the network discovery function is enabled. When thenetwork discovery function is on, the PC 1 searches for PCs andperipheral apparatuses location on the network 4 and displays detectedPCs and peripheral apparatuses on the network monitor 80 or the IHVnetwork monitor 81.

In the network discovery column, “Off” indicates that the networkdiscovery function is disabled. When the network discovery function isoff, the PC 1 does not search for PCs and peripheral apparatuseslocation on the network 4 and thus PCs and peripheral apparatuses arenot displayed on the network monitor 80 or the IHV network monitor 81.

In the device installation column, “Automatic” indicates that automaticinstallation of a printer driver or the like is permitted. In this case,when a peripheral apparatus is connected to the network 4 and the powerthereof is turned on, the PC 1 is allowed to automatically install adriver of the peripheral apparatus.

In the device installation column, “Manual” indicates that a printerdriver or the like is manually installed in accordance with an installcommand issued by a user. In this case, when a peripheral apparatus suchas the printer 3 is connected to the network 4 and the power thereof isturned on, the PC 1 displays an install menu 51 shown in FIG. 8 or aninstall menu 103 shown in FIG. 22. If a user manually inputs an installcommand, installation is performed.

In the device installation column, “Unavailable” indicates thatinstallation of a peripheral apparatus driver is disabled. In this case,when a peripheral apparatus is connected to the network 4 and powerthereof is turned on, the PC 1 controls operation so that a driver ofthe peripheral apparatus is not installed. Note that the table shown inFIG. 11A is applied when a firewall function of the OS is on, while thetable shown in FIG. 10B is applied when the firewall function is off.

FIG. 11 illustrates a table that defines modes of controlling displayinginformation on the network monitor 80 and modes of installing peripheralapparatuses. This table is one of modules of the network monitor 80 andis provided as a standard part of the OS.

Note that the table shown in FIG. 11 is applied when the firewallfunction of the OS is off as is the case in FIG. 10B. In FIG. 11, in a“PC Location” column, the location (setup location) of the PC set inFIG. 6 is described, and “npnp:Location” is a column in which the N-PnPlocation data element 73 is described. “Network Monitor” is a column inwhich information is described as to the mode of controlling informationon the network monitor 80 shown in FIG. 7. Note that the N-PnP locationdata element 73 indicates the setup location of the peripheralapparatus. In FIG. 11, in an “Install” column, information is describedas to the mode of installation the peripheral apparatus, and in an“npnp:DeviceCategory” column, the N-PnP device category data element 72is placed. “Remark” is a remark column.

In the “Network Monitor” column indicating the mode of controllingdisplaying information on the network monitor 80, “Displayed” specifiesthat displaying is controlled such that peripheral apparatuses aredisplayed on the network monitor 80, while “Not displayed” specifiesthat peripheral apparatuses are not displayed on the network monitor 80.For example, in a case where the location of the PC 1 is set to “Home”,and the N-PnP information issued by the printer 3 indicates that thelocation of the printer 3 is set to “Public”, then, according to thetable shown in FIG. 11, the PC 1 does not display an icon of the printer3 on the network monitor 80.

In the “Install” column indicating the peripheral apparatus installationmode, “Auto” specifies that the installation is performed in theautomatic installation mode, while “Manual” specifies that theinstallation is performed in the manual installation mode. For example,in a case where the location of the PC 1 is set to “Office”, and theN-PnP information issued by the printer 3 indicates that the location ofthe printer 3 is set to “Home”, then, according to the table shown inFIG. 11, the installation of the driver of the printer 3 is performed inthe manual installation mode. In this case, in accordance with aninstall command issued by a user, an installation process is performedto install the device driver.

The N-PnP device category data element (in the “npnp:DeviceCategory”column) is information indicating the category (type) of the N-PnPdevice (peripheral apparatus). In this column, “Printers/Scanners/MFP”indicates that the category (type) of the peripheral apparatus is“Printers”, “Scanners”, or “MFP”. “Others” indicates that the categoryof the peripheral apparatus is other than “Printers/Scanners/MFP”. “Any”indicates that the category of the peripheral apparatus can be any one.

In the “Remark” column, scenarios are described in terms of modes ofcontrolling displaying information on the network monitor 80 and modesof installing device drivers.

According to the table shown in FIG. 11, the PC 1 determines an optimumdisplaying mode and an optimum installation mode depending on thelocation of the PC 1, the location of the N-PnP device, and the N-PnPdevice category. If the automatic installation is simply applied to anyperipheral apparatus, a problem with security can occur as describedbelow. For example, when a peripheral apparatus connected to a networkis an apparatus used by an individual, such as a portable telephonedevice or a digital camera, if the automatic installation is applied tothis peripheral apparatus, then there is a possibility that theperipheral apparatus is displayed as a target apparatus to which data istransmitted from the PC even when the peripheral apparatus does not haveany relationship with the PC. In the present embodiment, to avoid theabove-described problem with security, the automatic installation ispermitted only when the category of a peripheral apparatus of interestis “Printers”, “Scanners”, or “MFP”, but the automatic installation isnot permitted for any other category.

In a case where the location of the PC is unspecified, and the N-PnPlocation data element 73 is set to “Home”, that is, the peripheralapparatus is an apparatus for use at home, high priority is given tothis information received from the peripheral apparatus, and theautomatic installation is performed. This allows a user to easilyperform correct installation according to the N-PnP device informationindicating that the specified usage environment is “Home”, even in acase where the location of the PC is not specified by the user.

In a case where the location of the PC is set to “Office” or “Public”,the automatic installation is not permitted even when the N-PnP locationinformation 73 is set to “Home”, i.e., the peripheral apparatus is anapparatus for use at home, in order to achieve high security. That is,when the location of the PC is set by a user to “Office” or “Public”,high priority is given to this information indicating that the locationof the PC is “Office” of “Public”, and security is ensured by disablingthe automatic installation even for a home-use peripheral apparatus.

In the present embodiment, as described above, the automaticinstallation is permitted in the home network environment thereby makingit easy to perform setup for peripheral apparatuses. On the other hand,in the office network environment, the installation is performedmanually. Thus, it is possible to achieve both high security and easyinstallation.

FIG. 12 is a flow chart illustrating an example of a process of settingup a peripheral apparatus. In this figure, a process performed by a PCis controlled by the network monitor 80 and the OS via the softwareshown in FIG. 4. A process performed by the network monitor 80 iscontrolled via the application/DDI interface 84.

In FIG. 12, if the printer 3 is connected to the network 4 and the powerof the printer 3 is turned on, the printer 3 issues N-PnP informationsuch as that shown in FIG. 9 and WS-Discovery information such as thatshown in FIG. 25 (step S1202).

The PC 1 analyzes the N-PnP device category data element 72, the N-PnPlocation data element 73, and the IHV software URL data element 74,described in the metadata of the N-PnP information (step S1203). The PC1 checks the table shown in FIG. 11 (step S1204), and determines whetherto display the printer 3 on the network monitor 80 in accordance withthe information acquired in step S1203 and the table shown in FIG. 11(step S1205). More specifically, the PC 1 performs the determinationbased on the location information (the second property information) ofthe PC 1 and the location information (the first property information)of the printer 3 acquired in step S1203.

The PC 1 can recognize the location of the PC 1 itself. For example,when the location of the PC 1 is set to “Home” and the locationinformation 73 associated with the printer 3 acquired in step S1203indicates that the location of the printer 3 is set to “Home”, the PC 1determines that the icon of the printer 3 should be displayed on thenetwork monitor 80.

In a case where the determination in step S1205 is that the icon of theprinter 3 should be displayed, the PC 1 displays the icon of the printer3 on the network monitor 80 (step S1206). Furthermore, based on theinformation acquired in step S1203 and the table shown in FIG. 11, thePC 1 determines the installation mode (step S1207). For example, whenthe location of the PC 1 is set to “Home” and the location data element73 associated with the printer 3 acquired in step S1203 indicates thatthe location of the printer 3 is set to “Office”, the PC 1 determinesthat the printer driver of the printer 3 should be installed in themanual mode. That is, the PC 1 determines that the automaticinstallation mode is not employed.

In a case where it is determined in step S1207 that the automaticinstallation mode is employed, the PC 1 starts the installation of theprinter driver 50 of the printer 3 in the automatic installation mode(step S1211). In a case where a URL is described in the IHV software URLdata element 74 (that is, if the answer to step S1212 is Yes), the PC 1downloads an IHV printer driver from a Web site identified by the URL.That is, the URL data element 74 is storage location informationindicating the location at which the printer driver is stored. The PC 1then installs the downloaded printer driver 50 (step S1213). This allowsthe PC 1 to update the printer driver 50 of the printer 3 to a latestversion thereof. If the installation is completed, the setup iscompleted.

In a case where it is determined in step S1212 that no URL is defined inthe IHV software URL data element 74 or there is no IHV software URLdata element 74, the PC 1 installs the printer driver 50 from“DriverStore” in the OS (step S1214).

In a case where it is determined in step S1205 that the printer 3 shouldnot be displayed on the network monitor 80, the PC 1 disables theinstallation of the printer driver 50 (step S1215), and the PC 1 endsthe process.

In a case where it is determined in step S1207 that the automaticinstallation mode is not permitted, the PC 1 determines whether themanual installation mode is specified for the peripheral apparatus (stepS1208).

If it is determined that the manual installation mode is specified, thePC 1 displays the printer 3 on the network monitor 80 (step S1209). If auser selects the install menu 51 (step S1210), the PC 1 determines adetermination process in step S1212. If it is determined in step S1210that the install menu 51 is not selected, step S1210 is performedrepeatedly until the install menu 51 is selected. In a case where it isdetermined in step S1208 that the manual installation mode is notspecified for the peripheral apparatus, the PC 1 disables theinstallation of the printer driver 50.

As described above, by performing the process shown in FIG. 12, the PC 1can select the printer driver installation mode based on the locationinformation (the second property information) of the PC 1 and thelocation information (the first property information) of the peripheralapparatus.

One of advantages provided by the present embodiment of the invention isthat it becomes possible to easily set up a network-connected peripheralapparatus in a home network environment, and thus the operability isimproved. Besides, in an office network environment, setup of anetwork-connected peripheral apparatus can be performed in a manner thatensures high security.

FIG. 13 is a flow chart illustrating a checking process in an automaticinstallation process. The process shown in this figure is controlled bythe network monitor 80 and the OS via the software shown in FIG. 4. Aprocess performed by the network monitor 80 is controlled via theapplication/DDI interface 84.

When the automatic installation is started in step S1211 in FIG. 12, thechecking process shown in FIG. 13 may be performed. In this case, whenthe checking associated with the automatic installation is started, thePC 1 determines whether the information acquired in step S1203 in FIG.12 includes the N-PnP location data element 73 (step S1302). If no N-PnPlocation data element 73 is detected (that is, if the answer to stepS1302 is No), the PC 1 determines the status of the check box 45 todetermine whether the automatic installation of a legacy device ispermitted (step S1303). If it is determined that this check box 45 ischecked (that is, if the answer to step S1304 is Yes), the PC 1 performsthe automatic installation of the legacy device, i.e., a conventionalperipheral apparatus that does not have the function according to thepresent embodiment of the invention (step S1212).

On the other hand, in a case where it is determined in step S1304 thatthe check box 45 is not checked, the PC 1 advances the process to stepS1209 in FIG. 12 without performing the automatic installation process,and displays the printer 3 on the network monitor 80. In a case where itis determined in step S1302 that N-PnP location data element 73 isdetected, it is determined that the peripheral apparatus of interest isof the type having the function according to the present embodiment ofthe invention, and thus process proceeds to step S1212 in FIG. 12 toperform the automatic installation process.

The checking process shown in FIG. 13 makes it possible to prevent theautomatic installation from being performed for a legacy apparatus whoselocation information is not defined. That is, it becomes possible toprevent a device driver from being installed for a device whose locationinformation is undefined.

An example of a potential problem is described below. For example, for aPC installed in an office, if a user sets the location information to“Home” by mistake, and if there is a legacy printer located in thisoffice environment, the PC 1 automatically installs a driver of thislegacy printer. As a result of the automatic installation of the driverfor the device whose location information is undefined, theadministrator of the office cannot manage the device. Such a potentialproblem can be prevented by performing the checking according to theflow shown in FIG. 13.

Second Exemplary Embodiment

A second exemplary embodiment of the present invention is described withreference to FIG. 14, FIG. 15, FIGS. 17 to 19, and FIGS. 22 to 24. Inthe following description, the explanation is focused on differencesfrom the first embodiment.

FIG. 22 is a diagram illustrating an IHV network monitor 81. As shown inFIG. 22, PCs and peripheral apparatuses located on the network 4 aredisplayed on the IHV network monitor 81. Note that the IHV networkmonitor 81 is provided by an IHV (Independent Hardware Vendor) and isnot included as standard in the OS. Therefore, it is necessary toinstall the IHV network monitor 81 from the outside. In the followingexplanation, it is assumed by way of example that the IHV networkmonitor 81 is a network monitor provided by ABC company.

In FIG. 22, reference numeral 100 denotes an icon representing the PC 1.Reference numeral 101 denotes an icon representing the printer 3.Reference numeral 102 denotes an icon representing the printer 5. Notethat when there are peripheral apparatuses displayed on the IHV networkmonitor 81, drivers therefor have not necessarily installed, andperipheral apparatuses are not necessarily in a usable state.

In FIG. 22, if a user manually selects the icon 101 representing theprinter 3 using a mouse and right-clicks the icon 101, then menus 103,104, and 105 are displayed. The menu 103 is an install menu. If thismenu is selected, the printer driver 50 for the printer 3 is installedin the PC 1. If the installation process is completed, the install menu103 is deleted and an uninstall menu 106 is displayed as described belowwith reference to FIG. 23. A printer icon 94 is then displayed in aprinter folder 93 shown in FIG. 21 to indicate that the printer 3 isusable for printing.

The menu 104 is a Web page link menu. If this menu is selected, a Webpage of a URL (http://www.ABC.xxx/kmmn.htm) specified in <wsdp:ModelUrl>in FIG. 9 is displayed.

The menu 105 is a property display menu. If this menu is selected, a URL(http://192.168.0.100:8000) specified in <wsdp:PresentationUrl> in FIG.9 is accessed and a root page of a Web server in the printer 3 isdisplayed.

The IHV network monitor 81 is different from the network monitor 80(shown in FIG. 7) provided as a standard module of the OS in that iconsof PCs and icons of printers are displayed in different manners.Furthermore, unlike the network monitor 80 having the check box 45specifying whether to permit automatic installation of a legacy device,the IHV network monitor 81 does not have an operation mechanism similarto the check box 45.

FIG. 23 is a diagram illustrating an example of the IHV network monitor81. In this figure, if a user manually selects an icon 101 representingthe printer 3 using a mouse and right-clicks the icon 101, then menus106, 104, and 105 are displayed. The menus 104 and 105 are the same asthose shown in FIG. 22. The menu 106 is a uninstall menu. If this menuis selected, the printer driver 50 for the printer 3 is uninstalled fromthe PC 1. If the uninstallation of the printer 3 is completed, theuninstall menu 106 is deleted and the install menu 103 is displayed. Theprinter icon 94 is deleted from the printer folder 93 so that it is nolonger displayed therein.

FIG. 17 is a diagram illustrating a screen for setting a passcode of aperipheral apparatus. In this figure, reference numeral 61 denotes apasscode setting screen that is displayed on the display 21 of theprinter 3 so as to allow a user to set a passcode. Note that thepasscode refers to information serving as a password of an apparatus.Hereinafter, the passcode of a peripheral apparatus will also bereferred to as identification information.

Reference numeral 62 denotes a passcode (identification information)input field that allows a user to input a passcode including acombination of 4 to 10 digits of numeric characters 0 to 9 thereby tospecify the passcode. When the passcode setting screen 61 is displayed,a current passcode is displayed as an initial value. Reference numeral64 denotes a numeric value selection field from which a user is allowedto select a numeric value to be input in the passcode input field 62.Reference numeral 63 denotes a passcode setting button. If this buttonis pressed, the value input in the passcode input field 62 is set as thepasscode.

When the passcode setting button 63 is pressed, a previously specifiedpasscode is overwritten by the passcode specified in the passcode inputfield 62, and thus the passcode is changed to the newly specified value.Reference numeral 65 denotes a passcode reset button. If this button ispressed, the passcode input in the passcode input field 62 is discardedand the passcode specified previously is again displayed.

FIG. 18 is a diagram illustrating passcode information issued by a PC.In this figure, reference numeral 96 denotes a name space of a passcode.More specifically, a passcode of ABC company is defined in this namespace 96. Reference numeral 97 denotes a SOAP “Action” data element.Information described in this data element indicates a transmissionaction for the passcode.

Reference numeral 75 denotes a passcode data element. In this dataelement 75, information specified by an application such as the IHVnetwork monitor 81 on the PC 1 is described. The passcode informationshown in FIG. 18 is issued by the application such as the IHV networkmonitor 81 running on the PC 1 and transmitted from the PC 1 to theprinter 3 via the network 4.

FIG. 19 is a diagram illustrating passcode confirmation informationissued by a printer. In FIG. 19, reference numeral 98 denotes a SOAP“Action” data element describing a SOAP action. In this specific case,information described in this data element 98 indicates a responseaction on the passcode confirmation result. Reference numeral 76 denotesa passcode confirmation result data element in which information isdescribed to indicate a result of a comparison between the passcodespecified in the passcode data field 75 and a passcode set in theprinter 3. In this data element 76, it is allowed to describeinformation (a character string) selected from the followings: “Valid”and “Invalid”.

FIG. 24 is a table used to determine a mode of controlling displayinginformation on the IHV network monitor 81 and a mode of installing aperipheral apparatus. This table is one of modules of the IHV networkmonitor 81. This table is provided by an IHV and is not included asstandard in the OS. Therefore, it is necessary to install the table fromthe outside. In the present embodiment, it is assumed by way of examplethat the table is a module provided from ABC company.

The table shown in FIG. 24 is for a case where the firewall function ofthe OS is off as is the case in FIG. 10B. In FIG. 24, a “PC Location”column describes the location of the PC selected in FIG. 6. An“npnp:Location” column describes the N-PnP location data element 73. An“IHV Network Monitor” column describes information specifying the modeof controlling displaying information on the IHV network monitor 81shown in FIG. 22. An “Install” column describes the mode of installing aperipheral apparatus. An “npnp:DeviceCategory” column describes theN-PnP device category data element 72. “Remark” is a remark column.

In the “IHV Network Monitor” column indicating the mode of controllingdisplaying information on the network monitor 81, “Displayed” specifiesthat displaying is controlled such that peripheral apparatuses aredisplayed on the IHV network monitor 81, while “Not displayed” indicatesthat peripheral apparatuses are not displayed on the IHV network monitor81. In the “Install” column indicating the peripheral apparatusinstallation mode, “Auto” specifies that the peripheral apparatus isautomatically installed, and “Manual” specifies that the peripheralapparatus is manually installed in accordance with an install commandissued by a user.

In the N-PnP device category data element 72 (npnp:DeviceCategory),“Printers/Scanners/MFP” indicates that the category of the peripheralapparatus is “Printers”, “Scanners”, or “MFP”. “Others” indicates thatthe category of the peripheral apparatus is other than“Printers/Scanners/MFP”. “Any” indicates that the category of theperipheral apparatus can be any one.

In the “Remark” column, scenarios are described in terms of modes ofcontrolling displaying information on the IHV network monitor 81 andmodes of installing device drivers.

According to the table shown in FIG. 24, the IHV network monitor 81determines an optimum displaying mode and an optimum installation modeaccording to the location of the PC, the N-PnP location data element,and the N-PnP device category data element. If the automaticinstallation is simply applied to any peripheral apparatus, a problemwith security can occur as described above in the first embodiment. Inthe present embodiment, to avoid the problem with security, theautomatic installation is permitted only when the category of aperipheral apparatus of interest is “Printers”, “Scanners”, or “MFP”,but the automatic installation is not permitted for any other category.

In a case where the location of the PC is unspecified, and the N-PnPlocation data element 73 is set to “Home”, that is, the peripheralapparatus is an apparatus for use at home, high priority is given tothis information received from the peripheral apparatus, and theautomatic installation is permitted.

The table shown in FIG. 24 is different from that shown in FIG. 11 inthat when the location of a PC is defined as “Office” and the N-PnPlocation data element 73 is set to “Home”, high priority is given toinformation (“Home”) received from a peripheral apparatus and theautomatic installation is permitted.

In a case where the location of the PC is defined as “Public” and theN-PnP location data element 73 is set to “Home”, high priority is givento information received from a peripheral apparatus and installation isperformed in the manual mode. The reason that information received froma peripheral apparatus is given high priority when the location of a PCis defined as “Public” is to realize specifications defined by ABCcompany so as to achieve high security. Besides, an improvement in useroperability is achieved by giving high priority to information describedin the N-PnP location data element 73 received from a peripheralapparatus, and selecting the automatic installation mode or the manualinstallation mode depending on an environment in which the peripheralapparatus is used. The specifications of the IHV network monitor 81 maybe optimized to meet specific requirements of the IHV. This makes itpossible to realize a network monitor different from the network monitor80 that is a standard module of the OS. Such a special network monitorcan lead to a further improvement in user operability.

FIG. 14 is a flow chart illustrating a process of setting up aperipheral apparatus according to the second embodiment of the presentinvention. In this figure, a process performed by the PC 1 is controlledby the IHV network monitor 81 and the OS via the software shown in FIG.4. A process performed by the IHV network monitor 81 is controlled viathe application/DDI interface 84.

In FIG. 14, when the printer 3 in a power-on state is connected to thenetwork 4, the printer 3 issues N-PnP information such as that shown inFIG. 9 and WS-Discovery information such as that shown in FIG. 25 (stepS1402).

The PC 1 analyzes the N-PnP device category data element 72, the N-PnPlocation data element 73, and the IHV software URL data element 74,described in the metadata of the N-PnP information (step S1403). The PC1 then checks the table shown in FIG. 24 (step S1404).

Furthermore, based on the information acquired in step S1403 and thetable shown in FIG. 24, the PC 1 determines whether the printer 3 shouldbe displayed on the IHV network monitor 81 (step S1405). In a case wherethe determination in step S1405 is that the printer 3 should bedisplayed, the PC 1 displays the icon of the printer 3 on the IHVnetwork monitor 81 (step S1406).

Furthermore, based on the table shown in FIG. 24 and the informationacquired in step S1403, the PC 1 determines whether the automaticinstallation is specified as the installation mode.

If it is determined in step S1407 that the automatic installation modeis specified (that is, if the answer to step S1407 is Yes), then the PC1 performs the automatic installation process to install the printerdriver 50 of the printer 3 in the PC 1 according to a passcode describedbelow with reference to FIG. 15 (step S1411).

In a case where a URL is described in the IHV software URL data element74 (that is, if the answer to step S1412 is Yes), the PC 1 accesses thespecified URL and downloads an IHV printer driver 50 from a Web siteidentified by the URL (step S1413). This allows the PC 1 to update theprinter driver 50 of the printer 3 to a latest version thereof. If theinstallation is completed, the setup is completed.

In a case where it is determined in step S1412 that no URL is defined inthe IHV software URL data element 74 or there is no IHV software URLdata element 74, the PC 1 installs the printer driver 50 from“DriverStore” in the OS (step S1414). If the installation is completed,the setup is completed.

In a case where it is determined in step S1405 that the printer 3 is notdisplayed on the IHV network monitor 81, the PC 1 disables theinstallation of the printer driver 50 (step S1415), and the PC 1 endsthe process. In a case where it is determined in step S1407 that thespecified installation mode for the peripheral apparatus is notautomatic installation, the PC 1 determines whether the manualinstallation mode is specified for the peripheral apparatus (stepS1408). In a case where it is determined in step S1408 that the manualinstallation mode is specified, the PC 1 displays the printer 3 on theIHV network monitor 81 (step S1409). Thereafter, if a user selects theinstall menu 103 (that is, if the answer to step S1410 is Yes), theprocess proceeds to step S1412 to install the printer driver 50 of theprinter 3 in the PC 1. If it is determined in step S1410 that theinstall menu 103 is not selected, step S1410 is performed repeatedlyuntil the install menu 103 is selected.

In a case where it is determined in step S1408 that the manualinstallation is not specified as the mode of installing the peripheralapparatus, the PC 1 disables the installation of the printer driver 50.FIG. 15 is a flow chart illustrating an automatic installation processusing a passcode. In this figure, a process performed by a PC iscontrolled by the IHV network monitor 81 and the OS via the softwareshown in FIG. 4. A process performed by the IHV network monitor 81 iscontrolled via the application/DDI interface 84. When the PC 1 startsthe automatic installation process according to the passcode in stepS1411 in FIG. 14, the PC 1 transmits passcode information such as thatshown in FIG. 18 to the printer 3 (step S1502).

If the printer 3 receives this passcode information (step S1503), theprinter 3 compares the received passcode with a passcode set in theprinter 3 (step S1504). If it is determined that the passcode is valid(that is, if the answer to step S1505 is Yes), the printer 3 sets“Valid” in the passcode confirmation result data element 76 (stepS1506), and transmits information such as that shown in FIG. 19indicating the result of the confirmation of the passcode to the PC 1(step S1508). On the other hand, in a case where it is determined instep S1505 that the passcode is invalid “Invalid” is set in the passcodeconfirmation result data element 76 (step S1507), and the printer 3transmits information such as that shown in FIG. 19 indicating theresult of the confirmation of the passcode to the PC 1. The PC 1receives this information indicating the result of the passcodeconfirmation (step S1509). If the passcode confirmation result dataelement 76 indicates that the passcode is “Valid” (that is, the answerto step S1510 is Yes), the process proceeds to step S1412 shown in FIG.14 to install the printer driver 50. On the other hand, if it isdetermined in step S1510 that the passcode confirmation result dataelement 76 indicates that the passcode is “Invalid”, the processproceeds to step S1409 shown in FIG. 14 to display the printer 3 on theIHV network monitor 81.

By using a passcode in the above-described manner, it becomes possibleto set up a peripheral apparatus in the automatic installation mode in ahighly secure manner.

In the embodiment described above, the enabling/disabling of theautomatic installation is controlled according to a single passcode.Alternatively, the automatic installation may be controlled in thefollowing manner to achieve further improved security. That is, in thePC 1, different passcodes are assigned to login accounts of the OS. Forexample, a passcode 1 is assigned to an administrator login account, anda passcode 2 is assigned to other general user login accounts. In theprinter 3, the passcode 1 and the passcode 2 are also set.

The automatic installation is permitted for the passcode 1, while themanual installation is permitted for the passcode 2. In an operationenvironment in which a user is logged in, using the administratoraccount, to the PC 1, if the IHV network monitor 81 is activated, thenthe passcode 1 is applied, and the automatic installation is permitted.

On the other hand, in an operation environment in which a user is loggedin, using the general user account, to the PC 1, if the IHV networkmonitor 81 is activated, then the passcode 2 is applied, and the manualinstallation is permitted.

When the IHV network monitor 81 is activated in an operation environmentin which a user is logged in using any other account (which is neitherthe administrator account nor the general user account), installation isnot permitted in any mode.

By controlling the installation in the above-described manner, itbecomes possible to prevent a driver from being installed by anunauthorized user.

Third Exemplary Embodiment

In the first and second embodiments described above, the installationmode is determined according to both the location information of the PC1 and the location information of the peripheral apparatus. In a thirdexemplary embodiment, the installation mode is determined according tothe location information of the PC 1, as described below with referenceto FIG. 28. In the following description, the explanation is focused ondifferences from the first and second embodiments.

The PC 1 checks the location information (the first propertyinformation) set in FIG. 6 (step S2801). Note that the information setin FIG. 6 is stored in a storage unit such as the RAM 1201, and thus thechecking of the location information is performed by reading theinformation stored in the RAM 1201.

The PC 1 determines whether the location information (the first propertyinformation) read in step S2801 indicates that “Home” (a first setuplocation) is specified as the location (step S2802).

If it is determined in step S2802 that “Home” is specified, then the PC1 selects the automatic installation as the installation mode (stepS2803). On the other hand, if it determined that the specified locationis not “Home” (but a second setup location such as “Office” or “Public”is specified as the location), the PC 1 selects the manual installationas the installation mode (step S2804).

In the present embodiment, the installation mode can be selected withouthaving to communicate with the peripheral apparatus via the network, andthus it is easier to determine the installation mode than in the otherembodiments.

Fourth Exemplary Embodiment

In the first and second embodiments described above, the installationmode is determined according to the table shown in FIG. 11 or 24. In afourth exemplary embodiment, as described below with reference to FIG.29, the installation mode is determined without using a table.

In FIG. 29, step S2901 is similar to step S2801 in FIG. 28, and stepS2902 is similar to step S1203 in FIG. 12 (or step S1403 in FIG. 14) andthus a further detailed explanation thereof is omitted.

The PC 1 determines whether the location information of the PC 1confirmed in step S2901 is in agreement with the location informationdescribed in the “npnp:Location” data element of the metadata acquiredin step S2902 (step S2903).

If it is determined in step S2903 that the location information is inagreement, then the PC 1 determines whether “Home” is specified by thelocation information (step S2904). If “Home” is specified, the automaticinstallation is selected but otherwise the manual installation isselected as the installation mode.

On the other hand, in a case where it is determined in step S2903 thatthe location information is not in agreement (that is, if the answer tostep S2903 is No), then the PC 1 determines whether the locationinformation acquired in step S2901 indicates that the location is“Unspecified” (step S2907).

If the answer to step S2907 is Yes, then the PC 1 determines on thebasis of the metadata acquired in step S2902 whether the installationshould be performed in the automatic installation mode or the manualinstallation mode. More specifically, if “Home” is specified in“npnp:Location” of the metadata, the automatic installation mode isselected, but otherwise the manual installation mode is selected.

On the other hand, in a case where it is determined that the location ofthe PC 1 is specified (that is, if the determination in step S2907 isNo), the PC 1 determines the installation mode according to the locationinformation of the PC 1 (step S2909).

High priority is given to the location information in the determinationin step S2909 for the following reason.

The location information of the PC 1 is set by a user. On the otherhand, “npnp:Location” of the peripheral apparatus is set in advanceaccording to the function of the peripheral apparatus. For example, fora large-size MFP using electrophotography, a manufacturer sets “Office”in “npnp:Location”. However, this MFP is not necessarily installed in anoffice but a user may install it in a home environment. This means thatthe location information defined in advance depending on the function ofthe peripheral apparatus is not necessarily proper information accordingto which to select the installation mode. In the present embodiment, inview of the above, when the location information is not in agreement,the location information specified by a user is used to properly selectthe installation mode.

Furthermore, in this fourth embodiment, unlike the third embodiment, theinstallation mode is determined according to both the locationinformation of the PC 1 and the “npnp:Location” information. Use ofthese two pieces of information makes it possible to reduce theprobability that a wrong installation mode is selected.

FIG. 30 is a diagram illustrating a network monitor 80. The networkmonitor 80 shown in FIG. 30 is similar to the network monitor shown inFIG. 7 except that the network monitor 80 additionally includes a checkbox 120 that allows a user to specify whether to display deviceinformation before installation is performed. Depending on whether thecheck box 120 is checked or unchecked, a device confirmation dialogshown in FIG. 31 is displayed or not displayed. In the example shown inFIG. 30, the check box 120 is in an unchecked state. If this check box120 is checked, a device confirmation dialog shown in FIG. 31 isdisplayed before the installation is started. However, if the check box120 is unchecked, the installation is started without displaying thedevice confirmation dialog shown in FIG. 31.

Referring to FIG. 31, the device confirmation dialog is described below.In FIG. 31, reference numeral 121 denotes the device confirmationdialog. If the check box 120 is in the checked state, the deviceconfirmation dialog 121 is displayed before the installation is started.Reference numeral 122 denotes a device information display field. Inthis device information display field 122, information acquired from adevice to be installed is displayed. The information displayed mayinclude a manufacturer name, a model name, etc, of the device to beinstalled. Reference numeral 123 denotes a device image display box. Inthis device image display box 123, image information such as bitmapimage information acquired from the device to be installed is displayed.In FIG. 31, by way of example, image information acquired from theprinter 3 to be installed is displayed in the device image display box123. Reference numeral 124 denotes an install button. If the installbutton 124 is clicked, the installation of a driver of the device isstarted. Reference numeral 125 denotes a cancel button. If the cancelbutton 125 is clicked, the installation of the driver of the device iscancelled. The timing of displaying the device confirmation dialog 121may be set, for example, such that it is displayed immediately after theautomatic installation in step S1211 in FIG. 12 is started. Bydisplaying the device confirmation dialog 121 in the above-describedmanner before the automatic installation is started, it becomes possibleto prevent a driver of an unintended device from being automaticallyinstalled, i.e., it becomes possible to install a driver of a correctdevice. More specifically, for example, in a state where a total of twoprinters for shared use are installed at a home such that one printer isinstalled on the first floor and the other on the second floor, when auser wants to set up his/her personal computer such that only a driverof the printer located on the second floor is installed in his/herpersonal computer, the printer located on the first floor is an“unintended device.” In this case, the displaying of the deviceconfirmation dialog 121 makes it possible for the user to correctlyinstall only the driver of the printer located on the second printerwithout installing the driver of the printer located on the first floor.

Next, referring to a memory map shown in FIG. 26, an explanation isgiven as to a configuration of a data processing program readable by aprinting system including an information processing apparatus and aperipheral apparatus connected to each other so that they are capable ofcommunicating with each other, according to an embodiment of the presentinvention.

The memory map shown in FIG. 26 is of a storage medium in which variouskinds of data processing programs are stored in a form readable by theprinting system according to the present embodiment of the invention.

Although not shown in FIG. 26, information according to which to managethe programs stored in the storage medium, such as version information,a supplier name, etc., may also be stored in the storage medium.Furthermore, information depending on the OS that reads the programs,such as icon information identifying each program may also be stored. InFIG. 26, reference numeral 130 denotes a storage medium. A hard disk orthe like may be used as the storage medium. In the followingexplanation, it is assumed by way of example that a hard disk is used asthe storage medium. Reference numeral 131 denotes a directoryinformation management area that manages data associated with therespective programs. Reference numeral 132 denotes a program storagearea. The various kinds of programs described above are stored in thisprogram storage area 132. In addition, the program storage area 132 mayfurther store a program for installing the programs in the informationprocessing apparatus, a program for decompressing a compressed programto be installed, and/or other programs. The functions realized byexecuting the processes described above with reference to FIGS. 12 to 15according to the embodiments of the invention may be implemented on theinformation processing apparatus by programs installed from the outside.In this case, a set of information including a control program may besupplied to the information processing apparatus or the peripheralapparatus from a storage medium such as a CD-ROM disk, a flash memory,or a flexible disk or from an external storage medium via a network.Note that this technique also falls within the scope of the presentinvention.

One or more embodiments of the present invention may be implemented bysupplying a storage medium in which a control program code thatimplements one or more functions of the embodiments is stored, andexecuting the control program code stored in the storage medium by acomputer (a CPU or an MPU) of a printing system or an apparatus. In thiscase, the control program code read from the storage medium implementsthe novel functions disclosed in the embodiments described above, andthe storage medium on which the control program code is stored fallwithin the scope of the present invention. Storage media which can beemployed in the present invention to supply the program code include afloppy disk, a hard disk, an optical disk, a magneto-optical disk, aCD-ROM, a CD-R, a magnetic tape, a non-volatile memory card, a ROM, andan EEPROM. In the execution of the program code by the computer, theoperating system (OS) or the like running on the computer may executeall or part of the process thereby to implement one or more functions ofone or more embodiments described above. Note that this technique alsofalls within the scope of the present invention.

In the embodiments described above, the network monitor such as thatshown in FIG. 7 or FIG. 22 is taken as an example of the application 80or 81. However, the applications are not limited to the network monitor.The present invention is also useful in other applications in which adriver of a peripheral apparatus is installed in a PC.

In the embodiments described above, the color ink-jet printer is used asan example of the printer. However, the printer is not limited to thecolor ink-jet printer. For example, a monochrome laser beam printer orother types of printers may be used.

In the embodiments described above, the personal computer is used as theinformation processing apparatus. However, the information processingapparatus is not limited to the personal computer. Other types ofinformation processing apparatuses, such as a DVD player, a gamemachine, a settop box, an Internet home apparatus, etc., may be used.

In the embodiments described above, it is assumed that the peripheralapparatus is a printer. However, the peripheral apparatus is not limitedto the printer. Other types of peripheral apparatuses, such as a copymachine, a facsimile machine, a scanner, a digital camera, or anapparatus having two or more of the functions described above may beused.

In the embodiments described above, it is assumed that the OS is theWindows Vista or an OS compatible therewith. Alternatively, other OSsmay be used.

In the embodiments described above, it is assumed that the network 4 isone based on the Ethernet technology. Alternatively, other types ofnetworks may be used.

In the embodiments described above, the interface between the PC 1 andthe printer 3 is one based on Ethernet. However, the interface is notlimited to that, and other interfaces such as a wireless LAN, anIEEE1394 interface, a Bluetooth interface, etc. may be employed.

In the embodiments described above, WSD is employed as the Web serviceprotocol. Alternatively, other protocols such as an IHV-specificprotocol may be used.

In the embodiments described above, a driver of a peripheral apparatusis installed (set up) in an information processing apparatus in eitherthe automatic installation mode or the manual installation mode.However, the installation modes are not limited to these two modes. Forexample, other installation modes such as a semi-automatic installationmode may be used. The number of installation modes is not limited totwo, but three or more installation modes may be used.

In the embodiments described above, an optimum setup (installation) modeis selected from a plurality of setup modes according to a locationdefined for an information processing apparatus and a location definedfor a peripheral apparatus, and the setup of the information processingapparatus as to the peripheral apparatus is performed in the selectedsetup mode. Alternatively, an optimum setup mode may be selected from aplurality of setup modes according to a location (an environment)defined for an information processing apparatus, and the setup of theinformation processing apparatus as to a peripheral apparatus may beperformed in the selected setup mode. Alternatively, an optimum setupmode may be selected from a plurality of setup modes according to alocation (an environment) defined for a peripheral apparatus, and thesetup of an information processing apparatus as to the peripheralapparatus may be performed in the selected setup mode. Thus the presentinvention makes it possible to select an optimum installation modedepending on an environment.

While the present invention has been described with reference toexemplary embodiments, it is to be understood that the invention is notlimited to the disclosed exemplary embodiments. The scope of thefollowing claims is to be accorded the broadest interpretation so as toencompass all modifications, equivalent structures and functions.

This application claims the benefit of Japanese Application No.2007-262272 filed Oct. 5, 2007, which is hereby incorporated byreference herein in its entirety.

1. An information-processing apparatus capable of communicating with an image-forming apparatus, comprising: a setting unit configured to set first property information indicating a setup location of the information-processing apparatus; and a selection unit configured to select an installation mode such that when the first property information set by the setting unit indicates a first setup location, the selection unit selects an automatic installation mode in which a device driver of the image-forming apparatus is automatically installed without accepting an installation command issued by a user, while when the first property information set by the setting unit indicates a second setup location, the selection unit selects a manual installation mode in which the device driver is installed according to the installation command issued by the user.
 2. The information-processing apparatus according to claim 1, further comprising a receiving unit configured to receive second property information indicating a setup location of the image-forming apparatus, wherein the selection unit is configured to select the installation mode according to the second property information received by the receiving unit and the first property information.
 3. The information-processing apparatus according to claim 2, wherein the receiving unit is configured to further acquire category information indicating a category of the image-forming apparatus, and the selection unit is configured to select the installation mode in which to install the device driver, according to the category information, the first property information, and the second property information.
 4. The information-processing apparatus according to claim 1, further comprising an installation unit configured to install the device driver in the installation mode selected by the selection unit, wherein the installation unit is configured so that, if the selection unit selects the automatic installation mode, the installation unit installs the device driver according to storage location information indicating a storage location of the device driver, the storage location information being transmitted from the image-forming apparatus.
 5. The information-processing apparatus according to claim 2, further comprising a determination unit configured to, if the selection unit selects the automatic installation mode, determine whether the installation in the automatic installation mode should be performed, according to identification information of the information-processing apparatus and identification information of the image-forming apparatus.
 6. A method for controlling an information-processing apparatus that is capable of communicating with an image-forming apparatus, the method comprising: setting first property information indicating a setup location of the information-processing apparatus; and selecting an installation mode such that when the first property information set in the setting step indicates a first setup location, an automatic installation mode is selected in which a device driver of the image-forming apparatus is automatically installed without accepting an installation command issued by a user, while when the first property information set in the setting step indicates a second setup location, a manual installation mode is selected in which the device driver is installed according to the installation command issued by the user.
 7. The method according to claim 6, further comprising receiving second property information indicating a setup location of the image-forming apparatus, wherein the selection step includes selecting the installation mode according to the second property information received in the receiving step and the first property information.
 8. The method according to claim 7, wherein the receiving step includes further acquiring category information indicating a category of the image-forming apparatus, and the selection step includes selecting the installation mode in which to install the device driver, according to the category information, the first property information, and the second property information.
 9. The method according to claim 6, further comprising installing the device driver in the installation mode selected in the selection step, wherein the installation step includes, if the automatic installation mode is selected in the selection step, installing the device driver according to storage location information indicating a storage location of the device driver, the storage location information being transmitted from the image-forming apparatus.
 10. The method according to claim 7, further comprising determining, if the automatic installation mode is selected in the selection step, whether the installation in the automatic installation mode should be performed, according to identification information of the information-processing apparatus and identification information of the image-forming apparatus.
 11. A storage medium encoded with a computer-executable program that causes the information-processing apparatus to perform the method according to claim
 6. 12. The information processing apparatus according to claim 1, wherein when the automatic installation mode is selected, information associated with the image forming apparatus is displayed.
 13. The method according to claim 6, wherein when the automatic installation mode is selected, information associated with the image forming apparatus is displayed.
 14. The storage medium encoded with the computer-executable program that causes the information-processing apparatus to perform the method according to claim 11, wherein when the automatic installation mode is selected, information associated with the image forming apparatus is displayed.
 15. The information processing apparatus according to claim 12, wherein the information associated with the image forming apparatus includes information indicating at least one of a manufacturer name, a model name, and an image of the image forming apparatus.
 16. The method according to claim 13, wherein the information associated with the image forming apparatus includes information indicating at least one of a manufacturer name, a model name, and an image of the image forming apparatus.
 17. The storage medium encoded with the computer-executable program that causes the information-processing apparatus to perform the method according to claim 14, wherein the information associated with the image forming apparatus includes information indicating at least one of a manufacturer name, a model name, and an image of the image forming apparatus. 